home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 3
/
DOS065.dsk
/
INDIVIDUAL ACCOUNTS.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
5KB
|
160 lines
10 REM MON GOES HERE
12 DIM S$(100),B$(50)
100 HOME : PRINT "INSERT PFILE DISK AND HIT RETURN"
101 INPUT X$
102 NN = 450
103 LF = 28
105 DIM P$(NN)
110 Z$ = "<CTRL-D>"
111 PRINT Z$;"CATALOG"
112 HOME
120 PRINT Z$;"OPEN PFILE"
130 PRINT Z$;"READ PFILE"
140 FOR E = 0 TO NN
150 INPUT P$(E)
160 NEXT E
170 PRINT Z$;"CLOSE PFILE"
200 REM STATEMENT
205 INPUT "WHAT IS THE CURRENT BILLING DATE ";CD$:C1$ = CD$
206 M$ = LEFT$(CD$,2)
207 IF MID$ (CD$,2,1) = "/" THEN M$ = LEFT$(M$,1)
208 CD = VAL(M$)
209 TR = CD -1:SX = CD -2:NT = CD -3
210 IF CD = 1 THEN TR = TR +12:SX = SX +12:NT = NT +12
211 IF CD = 2 THEN SX = SX +12:NT = NT +12
212 IF CD = 3 THEN NT = NT +12
213 CD$ = STR$(CD)
215 YR = VAL( RIGHT$(C1$,2))
220 REM INDIVIDUAL
221 PRINT "WHAT ACCOUNT # OR #'S DO YOU WISH TO SEE "
222 INPUT B$(Q): IF B$(Q) = "" THEN 225
223 Q = Q +1: GOTO 222
225 Q = Q -1: IF Q <0 THEN 620
226 A$ = B$(Q)
227 IF LEN(A$) = 3 THEN 230
228 A$ = "0" +A$: GOTO 227
230 REM HEADING
231 GOSUB 5000
232 REM MASTER SORT
233 N = 0
234 FOR E = 0 TO NN
235 IF A$ = MID$ (P$(E),9,3) THEN S$(N) = P$(E):N = N +1
236 NEXT E
237 N = N -1
240 IF F = 1 THEN F = 0: GOTO 225
250 REM 90 AND OVER
251 FOR D = 1 TO 31
260 FOR E = 0 TO N
270 IF A$ = MID$ (S$(E),9,3) THEN GOSUB 1000
280 NEXT E
290 NEXT D
291 PRINT TAB( 33);"*********"
292 V = NB: GOSUB 6000:NB$ = V$: PRINT TAB( 33);"$";NB$
293 V$ = ""
300 REM FOR 60 DAY
310 FOR D = 1 TO 31
320 FOR E = 0 TO N
330 IF A$ = MID$ (S$(E),9,3) THEN GOSUB 2000
335 NEXT E: NEXT D
340 PRINT TAB( 44);"**********"
350 V = SB: GOSUB 6000:SB$ = V$: PRINT TAB( 44);"$";SB$
355 V$ = ""
400 REM FOR 30 DAYS
410 FOR D = 1 TO 31
420 FOR E = 0 TO N
430 IF A$ = MID$ (S$(E),9,3) THEN GOSUB 3000
440 NEXT E
450 NEXT D
460 PRINT TAB( 56);"**********"
470 V = TB: GOSUB 6000:TB$ = V$: PRINT TAB( 56);"$";TB$
500 REM CURRENT
510 FOR D = 1 TO 31
520 FOR E = 0 TO N
530 IF A$ = MID$ (S$(E),9,3) THEN GOSUB 4000
540 NEXT E
550 NEXT D
560 PRINT TAB( 68);"**********"
570 V = CB: GOSUB 6000:CB$ = V$: PRINT TAB( 68);"$";CB$
600 FOR X = 1 TO 80: PRINT "-";: NEXT X
610 PRINT "90 DAYS+ $";NB$
611 PRINT "60 DAYS $";SB$
612 PRINT "30 DAYS $";TB$
613 PRINT "CURRENT $";CB$
614 V = CB +TB +SB +NB: GOSUB 6000:TB$ = V$: PRINT " *TOTAL $";TB$
615 TB = 0:CB = 0:NB = 0:SB = 0
616 FOR X = 1 TO 80: PRINT "-";: NEXT
617 IF LF = <0 THEN LF = 2
618 FOR X = 1 TO LF: PRINT : NEXT X
619 LF = 28: GOTO 225
620 PR# 0
630 HOME
650 PRINT "TO END TYPE 'END' -": INPUT X$
660 IF X$ = "END" THEN PRINT "DONE AND THANKS ": FOR X = 0 TO 2000: NEXT X: PRINT Z$;"RUN HELLO"
665 N = 0
670 GOTO 200
680 PRINT "END OF PROGRAM THANK YOU": GOTO 999
1000 REM PRINT FOR 90&OVER
1010 IF NT = VAL( MID$ (S$(E),71,2)) THEN 1020
1011 IF SX = VAL( MID$ (S$(E),71,2)) THEN RETURN
1012 IF TR = VAL( MID$ (S$(E),71,2)) THEN RETURN
1013 IF CD = VAL( MID$ (S$(E),71,2)) THEN RETURN
1015 REM RETURN
1020 IF D = VAL( MID$ (S$(E),74,2)) THEN 1030
1025 RETURN
1030 PRINT LEFT$(S$(E),8); MID$ (S$(E),37,9); MID$ (S$(E),56,15);"$"; MID$ (S$(E),46,10)
1040 NB = NB + VAL( MID$ (S$(E),46,10))
1045 LF = LF -1
1050 RETURN
2000 REM FOR 60 DAY
2010 IF SX = VAL( MID$ (S$(E),71,2)) THEN 2020
2015 RETURN
2020 IF D = VAL( MID$ (S$(E),74,2)) THEN 2030
2025 RETURN
2030 PRINT LEFT$(S$(E),8); MID$ (S$(E),37,9); MID$ (S$(E),56,15); TAB( 12);"$"; MID$ (S$(E),46,10)
2040 SB = SB + VAL( MID$ (S$(E),46,10))
2045 LF = LF -1
2050 RETURN
3000 REM SUB FOR 30 DAYS
3010 IF TR = VAL( MID$ (S$(E),71,2)) THEN 3020
3015 RETURN
3020 IF D = VAL( MID$ (S$(E),74,2)) THEN 3030
3025 RETURN
3030 PRINT LEFT$(S$(E),8); MID$ (S$(E),37,9); MID$ (S$(E),56,15); TAB( 24);"$"; MID$ (S$(E),46,10)
3040 TB = TB + VAL( MID$ (S$(E),46,10))
3045 LF = LF -1
3050 RETURN
4000 REM FOR CURRENT
4010 IF CD = VAL( MID$ (S$(E),71,2)) THEN 4020
4015 RETURN
4020 IF D = VAL( MID$ (S$(E),74,2)) THEN 4030
4025 RETURN
4030 PRINT LEFT$(S$(E),8); MID$ (S$(E),37,9); MID$ (S$(E),56,15); TAB( 36);"$"; MID$ (S$(E),46,10)
4040 CB = CB + VAL( MID$ (S$(E),46,10))
4045 LF = LF -1
4050 RETURN
5000 REM PRINTS HEADS
5010 FOR E = 0 TO NN
5020 IF E = NN THEN PRINT "NO SUCH ACCOUNT ":F = 1: RETURN
5030 IF A$ = MID$ (P$(E),9,3) THEN 5040
5035 NEXT E
5040 PR# 1: PRINT : PRINT : PRINT "TODAY'S DATE ";C1$: PRINT "ACCOUNT # ";A$
5050 PRINT "COMPANY "; MID$ (P$(E),12,25)
5060 FOR X = 1 TO 80: PRINT "-";: NEXT X
5070 PRINT "DATE INV OR CHK# COMMENTS";
5071 PRINT TAB( 6);"90+DAYS"; TAB( 7);"60 DAYS"; TAB( 7);"30 DAYS"; TAB( 7);"CURRENT"
5080 FOR X = 1 TO 80: PRINT "-";: NEXT X
5090 RETURN
6000 REM SUB FOR ROUND AND 10 PLACES
6001 IF V <0 THEN V = V * -1:F8 = -1
6005 V = INT(V *10 ^2 +.5)/ INT(10 ^2 +.5)
6010 IF V < > INT(V) THEN 6021
6020 V$ = STR$(V) +".00": GOTO 6040
6021 V1 = V - INT(V)
6022 V1 = INT(V1 *100 +.5)/100
6030 V$ = STR$(V1)
6031 IF LEN(V$) = 2 THEN V$ = V$ +"0"
6032 V$ = STR$( INT(V)) +V$
6033 IF F8 = -1 THEN V$ = "-" +V$
6040 IF LEN(V$) = >10 THEN 6050
6045 V$ = " " +V$: GOTO 6040
6050 F8 = 1: RETURN